﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright file="NetMedia.cs" company="Data Ductus Malmö">
//   (c) 2010 - 2012 Data Ductus Malmö AB
// </copyright>
// --------------------------------------------------------------------------------------------------------------------

namespace DataDuctus.Snmp.Persistor.Core.Tests.TestData
{
  using System.Net;

  using DataDuctus.Snmp.Persistor.Core.Attributes;
  using DataDuctus.Snmp.Persistor.Core.Types;

  /// <summary>
  /// The net media.
  /// </summary>
  [Entity(BaseOid = "1.3.6.1.2.1.4.22.1", Description = "This class encapsulates the ipNetToMediaTable")]
  public class NetMedia
  {
    #region Public Properties

    /// <summary>
    /// Gets or sets the address.
    /// </summary>
    [Index]
    [Property(SubOid = 3, Access = PropertyAccess.ReadWrite)]
    public IPAddress Address { get; set; }

    /// <summary>
    /// Gets or sets the interface.
    /// </summary>
    [Index]
    [Property(SubOid = 1, Access = PropertyAccess.ReadWrite)]
    public int Interface { get; set; }

    /// <summary>
    /// Gets or sets the physical address.
    /// </summary>
    [Property(SubOid = 2, Access = PropertyAccess.ReadWrite, Type = typeof(PhysicalMedia))]
    public string PhysicalAddress { get; set; }

    /// <summary>
    /// Gets or sets the type.
    /// </summary>
    [Property(SubOid = 4, Access = PropertyAccess.ReadWrite)]
    public MediaType Type { get; set; }

    #endregion
  }
}